package com.hx.jvm.jvm.lagou.gc;

import java.util.HashMap;
import java.util.Map;

/**
 * @author Minghua Chen
 * @date 2020-09-09 22:00
 */
public class HashMapLeakDemo {

    public static void main(String[] args) {
        Map<Key, Integer> map = new HashMap<>();
        map.put(new Key("1"), 1);
        map.put(new Key("2"), 2);
        map.put(new Key("3"), 3);

        // Map的hash算法  与这个hash算法不一样 自然是取不到的  所以为null
        // 尽量避免使用自定义的对象作为 Key
        Integer result = map.get(new Key("2"));
        // 打印出来的是null
        System.out.println(result);
    }


    /**
     * 没有重写equals()和hashCode()方法
     */
    public static class Key {
        String title;

        public Key(String title) {
            this.title = title;
        }
    }
}
